Case Study
Expedia
Marketplace
Analysis
A data-driven diagnosis of conversion levers across 100,000 hotel search sessions
Jason Kester Hanani
Product Strategist · Data Analysis
100k searches · 2012–2013 · Kaggle Expedia Dataset
April 2026
Executive Summary
Four Numbers
That Tell the Story
−27%
Luxury booking rate vs. Budget — the gap we need to close
5.22×
Booking lift from Position 1 vs. Position 10 — the biggest lever
−2.3%
Quality gap: luxury hotels under-deliver on star rating promises
1.34×
Conversion lift for returning visitors — trust is the differentiator
The Problem
Luxury Lags
Budget by 27%
Overall booking rate is 2.8% — but it varies dramatically by hotel segment.
3.04%
Budget
2.89%
Mid-tier
2.20%
Luxury
On a platform handling millions of searches, 0.84pp gap in luxury bookings represents substantial lost revenue. The question is: why?
27
Methodology
Moving Beyond
Correlation
  • 01 Outcome data, not proxies. Dataset includes direct signals — booking_bool and click_bool — enabling causal measurement of actual behavior.
  • 02 Funnel analysis. Impression → Click → Booking rates measured by segment to locate where friction occurs.
  • 03 Hypothesis-driven. Five specific hypotheses tested with statistical comparison — price, position, ranking quality, trust signals, and experience effects.
  • 04 100k sample. 3,542 unique searches, 8,390 unique properties from the Kaggle Expedia Personalized Sort Challenge (2012–2013).
  • Funnel Analysis
    The Drop Happens
    After the Click
    Both metrics below are percentages of total impressions — so they're directly comparable. Users click at similar rates; they book at very different ones.
    CTR: Budget 4.6% · Mid 4.7% · Luxury 4.1% — of impressions clicked
    Booking rate: Budget 3.04% · Mid 2.89% · Luxury 2.20% — of impressions booked
    CTR is similar. Booking rate diverges sharply. The gap opens after the click — on the hotel detail page, not in the search results.
    Finding 01 of 05
    Price Is Already
    At Equilibrium
    There is a 0.83pp spread across price tiers — but the market has already priced this in. There is no room left to move.
    3.38%
    Underpriced
    3.01%
    At Parity
    2.55%
    Overpriced
    Price-to-booking correlation: +0.0289. Hotels are already competitively priced — the spread reflects market equilibrium, not an untapped lever. Redeploying this effort elsewhere has far higher ROI.
    01
    Finding 02 of 05
    Position
    Drives 5.22× Lift
    The single most powerful conversion lever — and it works through trust, not just visibility.
    13.37%
    Position 1
    2.56%
    Position 10
    Booking elasticity (5.22×) exceeds click elasticity (4.53×). Position matters more for post-click conversion than for getting the click — it functions as a credibility signal, not just a ranking slot.
    02
    Finding 03 of 05
    CTR Is Similar —
    Post-Click Tells the Real Story
    Of every 100 hotel listings shown in search results, roughly 4–5 get clicked across all segments. The conversion gap happens after that click.
    4.6%
    Budget: clicked per 100 listings shown → 66% of those clickers book
    4.7%
    Mid-tier: clicked per 100 listings shown → 62% of those clickers book
    4.1%
    Luxury: clicked per 100 listings shown → only 54% of those clickers book
    A 0.6pp CTR difference is modest. The post-click conversion gap — Budget 66% vs Luxury 54% — is 12pp wider. The problem is what users find after they click, not how we rank.
    03
    Finding 04 of 05
    The Quality Trust Gap
    Explains Everything
    Star ratings are industry classifications (1–5★). Review scores are guest ratings on the same 0–5 scale.
    Segment Star Rating Promise Review Score Delivery Gap Hotels Beating Promise Booking Rate
    Budget 2.40 ★ 3.39 +41% 78% 3.04%
    Mid 3.34 ★ 3.97 +18% 73% 2.89%
    Luxury 4.30 ★ 4.20 −2.3% 39% 2.20%
    Only 39% of luxury hotels beat their promise, vs. 78% of Budget hotels. Budget travellers expect little and are delighted; luxury travellers expect perfection and feel let down. The fix is credibility, not price.
    04
    Finding 05 of 05
    Trust Drives
    1.34× More Bookings
    Returning visitors and new visitors click at nearly the same rate — but returning visitors book significantly more.
    2.74%
    New visitors
    3.66%
    Returning visitors
    Click rates are nearly identical (4.49% vs 4.61%). Trust — not visibility — is the differentiator.
    05
    Root Cause
    The Luxury
    Credibility Problem
    Budget
    Promise 2.40 ★
    +41% over-delivers
    Delivers 3.39 score
    Booking Rate
    3.04%
    Mid-tier
    Promise 3.34 ★
    +18% over-delivers
    Delivers 3.97 score
    Booking Rate
    2.89%
    Luxury
    Promise 4.30 ★
    −2.3% under-delivers
    Delivers 4.20 score
    Booking Rate
    2.20%
    Strategy
    Three Priorities.
    One Root Fix.
    Priority 01
    Fix the Luxury Quality Gap
    Audit all 4.3★+ luxury listings for promise-delivery gaps. Delist or require improvement where gap exceeds 0.2★. Replace star ratings with verified buyer scores in search results.
    +0.6pp
    Expected booking rate lift
    Priority 02
    Retrain Ranking on Conversion Signals
    Incorporate quality signals — verified reviews, satisfaction rates, on-time delivery — alongside relevance. Surface high-confidence hotels at Position 1–3 where the conversion multiplier is greatest.
    +0.4pp
    Expected incremental lift
    Priority 03
    Build Trust Signals into the UI
    Highlight verified buyer reviews. Show "beats traveler expectations" badges. Expose returning visitor satisfaction rates. Help skeptical luxury buyers find confidence before they bounce.
    +0.3pp
    Expected secondary lift
    Implementation
    8-Week
    Roadmap
    Phase 01
    Wk 1–2
    • Audit all 4.3★+ luxury listings
    • Flag promise-delivery gaps >0.2★
    • Segment by gap severity
    Phase 02
    Wk 3–4
    • Investigate root causes per property
    • Photos, amenities, maintenance flags
    • Delist or require remediation
    Phase 03
    Wk 5–6
    • A/B test: verified ratings vs. star ratings
    • Launch quality-based ranking experiment
    • Measure booking lift in luxury segment
    Phase 04
    Wk 7–8
    • Roll out trust signal UI changes
    • Monitor secondary conversion lift
    • Report: 2.20% → 2.31% target
    Business Impact
    A $50M+ Opportunity
    Waiting for a Quality Fix
    2.20%
    Current luxury booking rate — baseline we're improving from
    2.31%
    Target luxury booking rate after quality gap fix — a 5% lift
    How we get to $50M+
    Expedia processes ~500M hotel searches/year  →  Luxury segment (~20%) = ~100M luxury searches
    At ~4.5% CTR  →  ~4.5M luxury hotel page views
    Lifting post-click conversion by 5%  →  ~225k incremental bookings
    At avg. luxury booking value ~$250  →  ~$56M additional GMV
    Appendix
    Data &
    Methodology
    Dataset
    • 100,000 sample searches from Kaggle: Expedia Personalized Sort Challenge (2012–2013)
    • 3,542 unique searches · 8,390 unique properties
    • 54 columns including search context, property attributes, competitor pricing, outcome flags
    • Price range capped at $8–$1,000 to remove outliers ($8–$176k raw range)
    • 35% competitor data missingness — analyzed only searches with ≥3 competitors
    Limitations & Caveats
    • Data is from 2012–2013; booking behavior has likely evolved
    • Properties and visitors are anonymized — no name-level validation
    • Sparse new-user history data (NaN for visitors with no prior bookings)
    • Sample of 10k rows used for most analyses; 100k for segment overviews
    • Findings framed as "correlated with" not "causes" except where outcome-driven A/B logic supports causation